'use strict';

const Subscription = require('egg').Subscription;

/**
 * 检查过期宠物注册信息，将其状态改为待年审和脱审状态的定时任务。
 */
class checkExpireTimePetRegInfo extends Subscription {
  /**
   * @property {Object} schedule
   *  - {String} type - schedule type, `worker` or `all` or your custom types.
   *  - {String} [cron] - cron expression, see [below](#cron-style-scheduling)
   *  - {Object} [cronOptions] - cron options, see [cron-parser#options](https://github.com/harrisiirak/cron-parser#options)
   *  - {String | Number} [interval] - 以毫秒为单位的间隔表达式，或显式表示为“1h”。 see [below](#interval-style-scheduling)
   *  - {Boolean} [immediate] - 启动时运行计划程序
   *  - {Boolean} [disable] - 是否禁用计划程序，通常用于动态计划
   *  - {Array} [env] - 仅在匹配环境列表时启用计划程序
   */
  static get schedule() {
    return {
      type: 'worker',
      cron: '0 0 0 * * *', // 每天0时执行此任务
      immediate: true, // 项目启动该任务就开始执行
    };
  }

  async subscribe() {
    // // 检查宠物过期信息
    // await this.ctx.service.admin.petmasterregister.checkExpirePetRegInfo();
  }
}

module.exports = checkExpireTimePetRegInfo;